Concepts for C++0x
نویسندگان
چکیده
3 Design rationale 4 3.1 Template compilation model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 3.2 Specific language features in the design space . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 3.2.1 Named conformance vs. structural conformance . . . . . . . . . . . . . . . . . . . . . . 6 3.2.2 New templates vs. new template parameters . . . . . . . . . . . . . . . . . . . . . . . 7 3.2.3 Pseudo-signatures vs. valid expressions . . . . . . . . . . . . . . . . . . . . . . . . . . 8 3.2.4 Placeholder types vs. concept names as types . . . . . . . . . . . . . . . . . . . . . . . 9 3.2.5 Specifying constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10 3.2.6 Associated types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.7 Same-type constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3.2.8 Integral-constant constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
منابع مشابه
The C++0x “Concepts” Effort (Draft)
C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 (but that will probably appear in 2011). The largest language extension in C++0x was “concepts”, that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into ...
متن کاملThe C++0x "Concepts" Effort
C++0x is the working title for the revision of the ISO standard of the C++ programming language that was originally planned for release in 2009 but that was delayed to 2011. The largest language extension in C++0x was “concepts”, that is, a collection of features for constraining template parameters. In September of 2008, the C++ standards committee voted the concepts extension into C++0x, but ...
متن کاملEmulating C++0x concepts
A library for the emulation of C++0x concepts developed using the emerging C++11 programming language is presented. The library integrates existing techniques for concept checking and template metaprogramming to provide a uniform interface to defining and using concepts. The purpose of this work is to establishing a concrete foundation for experimentation of design techniques for concepts and t...
متن کاملA Concept Design for the STL
This report presents a concept design for the algorithms part of the STL and outlines the design of the supporting language mechanism. Both are radical simplifications of what was proposed in the C++0x draft. In particular, this design consists of only 41 concepts (including supporting concepts), does not require concept maps, and (perhaps most importantly) does not resemble template metaprogra...
متن کاملA Formalism for C++
In this paper, we develop a general formalism for describing the C++ programming language, and regular enough to cope with proposed extensions (such as concepts) for C++0x that affect its type system. Concepts are a mechanism for checking template arguments currently being developed to help cope with the massive use of templates in modern C++. The main challenges in developing a formalism for C...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2005